(insert-for-yank): Call insert-for-yank-1 repetitively
authorEli Zaretskii <eliz@is.elta.co.il>
Mon, 29 Dec 2003 11:39:44 +0000 (11:39 +0000)
committerEli Zaretskii <eliz@is.elta.co.il>
Mon, 29 Dec 2003 11:39:44 +0000 (11:39 +0000)
for each yank-handler segment.
(insert-for-yank-1): New function, with the body of the previous
insert-for-yank.

lisp/subr.el

index 2996f2903e0b80fbae6947fc50e6936ebad2a645..e760936572bd942f973208c77e07cbc4bae8ebbf 100644 (file)
@@ -1563,7 +1563,18 @@ Replaces `category' properties with their defined properties."
 (defvar yank-undo-function)
 
 (defun insert-for-yank (string)
+  "Calls `insert-for-yank-1' repetitively for each `yank-handler' segment.
+
+See `insert-for-yank-1' for more details."
+  (let (to)
+    (while (setq to (next-single-property-change 0 'yank-handler string))
+      (insert-for-yank-1 (substring string 0 to))
+      (setq string (substring string to))))
+  (insert-for-yank-1 string))
+
+(defun insert-for-yank-1 (string)
   "Insert STRING at point, stripping some text properties.
+
 Strip text properties from the inserted text according to
 `yank-excluded-properties'.  Otherwise just like (insert STRING).